package com.aliyun.messagemgt.dto.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;

/**
 * @Author: Xiaohang Lv
 * @Date: 2019/5/8 16:25
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MsgPushResultsQueryVO {
    /**
     * 消息唯一标识(消息发送方提供,以便解析这个消息)
     */
    private String uniqueId;

    /**
     * 消息体
     */
    private String content;

    /**
     * 接收人名称
     */
    private String receiverName;

    /**
     * 接收人id
     */
    private String receiverId;

    /**
     * 推送结果编码
     */
    private Integer pushResultCode;

    /**
     * 推送结果描述
     */
    private String pushResultDescription;

    /**
     * 评论
     */
    private String commentText;

    /**
     * 反馈 -1 差评 1 好评
     */
    private Integer grade;

    /**
     * 是否已读 0 未读 1 已读
     */
    private Integer stateRead;

    /**
     * 发送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date pushTime;

    public String getContent() {
        return content;
    }

    public MsgPushResultsQueryVO setContent(String content) {
        this.content = content;
        return this;
    }

    public String getUniqueId() {
        return uniqueId;
    }

    public MsgPushResultsQueryVO setUniqueId(String uniqueId) {
        this.uniqueId = uniqueId;
        return this;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public MsgPushResultsQueryVO setReceiverName(String receiverName) {
        this.receiverName = receiverName;
        return this;
    }

    public String getReceiverId() {
        return receiverId;
    }

    public MsgPushResultsQueryVO setReceiverId(String receiverId) {
        this.receiverId = receiverId;
        return this;
    }

    public Integer getPushResultCode() {
        return pushResultCode;
    }

    public MsgPushResultsQueryVO setPushResultCode(Integer pushResultCode) {
        this.pushResultCode = pushResultCode;
        return this;
    }

    public String getPushResultDescription() {
        return pushResultDescription;
    }

    public MsgPushResultsQueryVO setPushResultDescription(String pushResultDescription) {
        this.pushResultDescription = pushResultDescription;
        return this;
    }

    public String getCommentText() {
        return commentText;
    }

    public MsgPushResultsQueryVO setCommentText(String commentText) {
        this.commentText = commentText;
        return this;
    }

    public Integer getGrade() {
        return grade;
    }

    public MsgPushResultsQueryVO setGrade(Integer grade) {
        this.grade = grade;
        return this;
    }

    public Integer getStateRead() {
        return stateRead;
    }

    public MsgPushResultsQueryVO setStateRead(Integer stateRead) {
        this.stateRead = stateRead;
        return this;
    }

    public Date getPushTime() {
        return pushTime;
    }

    public MsgPushResultsQueryVO setPushTime(Date pushTime) {
        this.pushTime = pushTime;
        return this;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
